
// get方法封装
/* 发送GET请求
* @param {String} url 请求地址 
* @param {String} params 请求参数   格式：参数名=值&....&参数名=值
* @param {Function} headersFn 自定义请求头
*/
function get(url, params, headersFn) {
  return new Promise((resolve, reject) => {
    //定义xhr对象
    const xhr = new XMLHttpRequest()
    //监听状态
    xhr.onreadystatechange = function () {
      if (xhr.readyState === 4) {
        if (xhr.status === 200) {
          let res = JSON.parse(xhr.responseText)
          resolve(res)
        } else {
          // console.log(xhr.atatus)
          reject(xhr.status)
        }
      }
    }
    xhr.open('get', `${url}?${params}`)
    if (headersFn) headersFn(xhr)
    xhr.send(null)
  })
}

// post方法封装
/**
* 发送POST请求
* @param {String} url 请求地址 
* @param {String} params 请求参数   格式：参数名=值&....&参数名=值
* @param {Function} headersFn 自定义请求头
*/
function post(url, params, headersFn = null) {
  return new Promise((resolve, reject) => {
    //定义xhr对象
    const xhr = new XMLHttpRequest()
    //监听状态
    xhr.onreadystatechange = function () {
      if (xhr.readyState === 4) {
        if (xhr.status === 200) {
          let res = JSON.parse(xhr.responseText)
          resolve(res)
        } else {
          // console.log(xhr.atatus)
          reject(xhr.status)
        }
      }
    }
    xhr.open('post', url)
    xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
    if (headersFn) headersFn(xhr)
    xhr.send(params)
  })
}
